home *** CD-ROM | disk | FTP | other *** search
Text File | 1996-09-17 | 5.2 KB | 158 lines | [TEXT/MPS ] |
- //========================================================================================
- //
- // File: FWFctInf.cpp
- // Release Version: $ ODF 2 $
- //
- // Copyright: (c) 1993 - 1996 by Apple Computer, Inc., all rights reserved.
- //
- //========================================================================================
-
- #include "FWOS.hpp"
-
- #ifndef FWFCTINF_H
- #include "FWFctInf.h"
- #endif
-
- #ifndef FWPRIDEB_H
- #include "FWPriDeb.h"
- #endif
-
- // ----- OpenDoc Includes -----
-
- #ifndef SOM_ODFacet_xh
- #include <Facet.xh>
- #endif
-
- //========================================================================================
- // Runtime Informations
- //========================================================================================
-
- #ifdef FW_BUILD_MAC
- #pragma segment fwgraphx
- #endif
-
- //========================================================================================
- // Global Methods
- //========================================================================================
-
- //----------------------------------------------------------------------------------------
- // FW_PrivCreateFacetPartInfo
- //----------------------------------------------------------------------------------------
-
- FW_SPrivFacetPartInfo* FW_PrivCreateFacetPartInfo(Environment* ev, ODFacet* facet)
- {
- FW_SPrivFacetPartInfo* facetPartInfo = new FW_SPrivFacetPartInfo;
- facetPartInfo->fMagicNumber1 = (unsigned long)facet;
- facetPartInfo->fMagicNumber2 = (unsigned long)facet->GetFrame(ev);
- facetPartInfo->fDevice = FW_PrivGDev_CreateFromODCanvas(ev, facet->GetCanvas(ev));
- facetPartInfo->fHighlight = facet->GetHighlight(ev);
- facetPartInfo->fRefCon = 0;
-
- facet->SetPartInfo(ev, (ODInfoType)facetPartInfo);
-
- return facetPartInfo;
- }
-
- //----------------------------------------------------------------------------------------
- // FW_PrivDeleteFacetPartInfo
- //----------------------------------------------------------------------------------------
-
- void FW_PrivDeleteFacetPartInfo(Environment* ev, ODFacet* facet)
- {
- FW_SPrivFacetPartInfo* partInfo = FW_PrivGetFacetPartInfo(ev, facet);
-
- if (partInfo != NULL)
- {
- FW_PrivGDev_Release(partInfo->fDevice);
- delete partInfo;
-
- facet->SetPartInfo(ev, (ODInfoType)NULL);
- }
- }
-
- //----------------------------------------------------------------------------------------
- // FW_PrivGetFacetPartInfo
- //----------------------------------------------------------------------------------------
-
- FW_SPrivFacetPartInfo* FW_PrivGetFacetPartInfo(Environment* ev, ODFacet* facet)
- {
- FW_SPrivFacetPartInfo* partInfo = (FW_SPrivFacetPartInfo*)facet->GetPartInfo(ev);
-
- // ----- If partInfo is NULL or doesn't have the right magic number, facet ------
- // ----- was not one of our facet (This can appended in FW_CWindowContext) -----
- if (partInfo == NULL ||
- partInfo->fMagicNumber1 != (unsigned long)facet ||
- partInfo->fMagicNumber2 != (unsigned long)facet->GetFrame(ev))
- return NULL;
-
- return partInfo;
- }
-
- //----------------------------------------------------------------------------------------
- // FW_GetFacetGraphicDevice
- //----------------------------------------------------------------------------------------
-
- FW_HGDevice FW_GetFacetGraphicDevice(Environment* ev, ODFacet* facet)
- {
- FW_SPrivFacetPartInfo* partInfo = FW_PrivGetFacetPartInfo(ev, facet);
- return partInfo ? partInfo->fDevice : NULL;
- }
-
- //----------------------------------------------------------------------------------------
- // FW_GetFacetRefCon
- //----------------------------------------------------------------------------------------
-
- unsigned long FW_GetFacetRefCon(Environment* ev, ODFacet* facet)
- {
- FW_SPrivFacetPartInfo* partInfo = FW_PrivGetFacetPartInfo(ev, facet);
- return partInfo ? partInfo->fRefCon : 0;
- }
-
- //----------------------------------------------------------------------------------------
- // FW_SetFacetRefCon
- //----------------------------------------------------------------------------------------
-
- void FW_SetFacetRefCon(Environment* ev, ODFacet* facet, unsigned long refCon)
- {
- FW_SPrivFacetPartInfo* partInfo = FW_PrivGetFacetPartInfo(ev, facet);
- if (partInfo)
- partInfo->fRefCon = refCon;
- #ifdef FW_DEBUG
- else
- FW_DEBUG_MESSAGE("Trying to set the Facet Part Info of a non-display facet");
- #endif
- }
-
- //----------------------------------------------------------------------------------------
- // FW_PrivGetFacetHighlight
- //----------------------------------------------------------------------------------------
-
- ODHighlight FW_PrivGetFacetHighlight(Environment* ev, ODFacet* facet)
- {
- FW_SPrivFacetPartInfo* partInfo = FW_PrivGetFacetPartInfo(ev, facet);
- if (partInfo)
- return partInfo->fHighlight;
- else
- {
- FW_DEBUG_MESSAGE("Trying to get the highlight of a non-display facet");
- return kODNoHighlight;
- }
- }
-
- //----------------------------------------------------------------------------------------
- // FW_PrivSetFacetHighlight
- //----------------------------------------------------------------------------------------
-
- void FW_PrivSetFacetHighlight(Environment* ev, ODFacet* facet, ODHighlight highlight)
- {
- FW_SPrivFacetPartInfo* partInfo = FW_PrivGetFacetPartInfo(ev, facet);
- if (partInfo)
- partInfo->fHighlight = highlight;
- #ifdef FW_DEBUG
- else
- FW_DEBUG_MESSAGE("Trying to set the highlight of a non-display facet");
- #endif
- }
-
-
-